home *** CD-ROM | disk | FTP | other *** search
/ Resource Library: Multimedia / Resource Library: Multimedia.iso / hypertxt / msdos / ebk / eb.doc next >
Text File  |  1991-07-31  |  15KB  |  406 lines

  1.  
  2.  
  3.      EB HyperText
  4.      ============
  5.      
  6.      
  7.      EB, the Electronic Book, is a simple topic oriented 
  8.      hypertext viewing program.  Topics may contain links to 
  9.      other topics or programs.  A topic may even reside in 
  10.      another hypertext file.  The links appear as highlighted 
  11.      hot-spots which when activated by the viewer force a jump to 
  12.      the specified target topic or program.  The viewer can of 
  13.      course backtrack over any jump, a process known as popping 
  14.      the hyperstack.  Traditionally all literature has had a 
  15.      linear presentation scheme determined by the author.  
  16.      Hypertext has liberated the audience by allowing each to 
  17.      choose somewhat the order of presentation and the admission 
  18.      or omission of material.  Hypertext pundits however have 
  19.      largely ignored the qualities of a book that allow its 
  20.      reader nonlinear access, namely the Table of Contents and 
  21.      Index.  EB incorporates both, hence the name Electronic 
  22.      Book.
  23.      
  24.      
  25.      
  26.  
  27.      EB Hypertext Viewing
  28.      ====================
  29.  
  30.      
  31.      Usage:    eb   -m  -ttopic  pathname
  32.  
  33.  
  34.     m        optionally force monochrome display
  35.     ttopic        optional topic in hypertext file
  36.     pathname    optional hypertext file
  37.  
  38.  
  39.      The following commands are available:
  40.  
  41.  
  42.     F1            Help
  43.     F3            Load new HyperText file
  44.     F10, AltT        Table of Contents
  45.     AltF10, AltI        Index
  46.     CR            Tranverse HyperLink
  47.     AltF1, BACKSP        Backtrack HyperLink
  48.     F6            Toggle 25 - 43/50 lines
  49.     ShiftF6            Toggle monochrome/color
  50.     AltX            Exit
  51.     
  52.          UpArr            Line up
  53.     DnArr            Line down
  54.     LArr            Character left
  55.     RArr            Character right
  56.     CtrlLArr        Word left
  57.     CtrlRArr        Word right
  58.     PgUp            Page up
  59.     PgDn            Page down
  60.     CtrlW            Scroll up
  61.     CtrlZ            Scroll down
  62.     CtrlPgUp        First page of current topic
  63.     CtrlPgDn        Last page of current topic
  64.     Home            Beginning of line
  65.     End            End of line
  66.     CtrlHome        Top of window
  67.     CtrlEnd            Bottom of window
  68.     
  69.     Tab            Next hyperlink
  70.     ShiftTab        Previous hyperlink
  71.     
  72.     
  73.     Typing characters will take you to the first hyperlink 
  74.     that matches the prefix thus far typed.  Typing any 
  75.     non-matching characters truncates the prefix to begin 
  76.     anew the process with the next character typed.
  77.  
  78.      
  79.      
  80.      EB HyperText Authoring
  81.      ======================
  82.      
  83.  
  84.      The EB hypertext system is designed to allow hypertext 
  85.      authoring with any ASCII editor and the rapid conversion of 
  86.      existing material to hypertext.  Taking any existing text 
  87.      file you can embed topic/clue specifiers from which EB can 
  88.      automatically create a table of contents and index on reader 
  89.      demand.  You can also embed hyperlink specifiers.  
  90.      Hyperlinks are highlighted text hot-spots that force jumps 
  91.      to other topics in any hypertext file or launch programs 
  92.      when choosen by your readers.  When the modified text file 
  93.      is subsequently viewed with EB, the specifiers are invisible 
  94.      to the reader.  Instead the reader is left with hypertext, 
  95.      and the ability to instantly jump to the table of contents 
  96.      or index and subsequent topic, or across any hyperlink.
  97.      
  98.      Let's first see how to embed a new topic along with optional 
  99.      clues in your text.
  100.      
  101.          >|topic|clue|clue|<
  102.  
  103.      The ">|" characters must appear at the start of a new line 
  104.      and the specifier must not extend pass the end of the line.  
  105.      Specifier lines are limited to 256 characters including the 
  106.      new line character.  "Topic" is what ever text you want to 
  107.      appear in the table of contents.  Topics appear in the table 
  108.      of contents in the same sequential order that they appear in 
  109.      the file.  "Clue" is what ever text you want to appear in 
  110.      the index.   The index is comprised of an alphabetical 
  111.      listing of topics and clues.  From the table of contents or 
  112.      index, the reader can instantly jump to the entry's 
  113.      corresponding topic.  You can supply as many clues as you 
  114.      want or none at all.  Each new clue is introduced with the 
  115.      "|" character.  The "|<" characters terminate the topic/clue 
  116.      specifier.  The topic begins on the next line after the "|<" 
  117.      characters.  The topic/clue specifier is formally called the 
  118.      inlinks specifier.
  119.  
  120.      Each hyperlink is specified in two parts, a launch and a 
  121.      target.  The launch is the highlighted text hot-spot in your 
  122.      original text and is delimited with the tilde diacritical 
  123.      mark.  A corresponding target must appear in the outlinks 
  124.      specifier.  Suppose you want the word "time" as in:
  125.       
  126.         Now is the time for all good authors ...
  127.  
  128.      is to be a launch.  Simply bracket the word "time" with the 
  129.      tilde diacritical mark:
  130.      
  131.         Now is the ~time~ for all good authors ...
  132.          
  133.      The first tilde turns on highlighting while the second turns 
  134.      it off.  The tildes are invisible when viewed with EB.  This 
  135.      implementation of the launch allows the hypertext to appear 
  136.      in nearly the same spatial layout when authoring as when 
  137.      viewing.  More than one launch may appear on the same line 
  138.      but none may wrap to the next line.  Place two tildes 
  139.      immediately adjacent to each other if you want a tilde to 
  140.      appear as visible text instead of indicating the beginning 
  141.      or end of a launch.  Extending our example alittle:
  142.      
  143.          >|Authoring|<
  144.     
  145.     Now is the ~time~ for all good authors ...
  146.     
  147.     <|DOS|>
  148.      
  149.      The inlinks specifier indicates the start of a new topic 
  150.      called "Authoring."  No clues have been specified.  The 
  151.      context of this topic includes the one launch indicating 
  152.      that the word "time" is to be highlighted.  The outlinks 
  153.      specifier terminates the topic and contains the target, 
  154.      "DOS",  which the reader will be taken to if the "time" 
  155.      hyperlink is choosen.   The outlinks specifier must also 
  156.      appear at the start of a new line and not extend beyond the 
  157.      end of the line.
  158.  
  159.      Let's extend our example again:
  160.      
  161.         >|Authoring|<
  162.          
  163.     Now is the ~time~ for all good authors to turn their
  164.     ordinary text into ~hypertext!~
  165.         
  166.     <|DOS|hyped text|>
  167.     
  168.      A second launch and corresponding target has been added, 
  169.      namely "hypertext!" and its target "hyped text".
  170.      
  171.  
  172.  
  173.      Now for the whole example:
  174.      
  175.           
  176.         >|Authoring|<
  177.          
  178.     Now is the ~time~ for all good authors to turn their
  179.     ordinary text into ~hypertext!~
  180.         
  181.     <|DOS|hyped text|>
  182.     
  183.     >|Hyped Text|<
  184.     
  185.     Hyped text is ordinary text with embedded hypertext 
  186.     specifiers.
  187.     
  188.     <||>
  189.     
  190.  
  191.     >|DOS|<
  192.  
  193.      Set DOS
  194.         
  195.             ~time~        ~date~        
  196.             
  197.     ~Other DOS Commands~
  198.     
  199.     <|^?command.com /ctime|^>date|^dos.htx|>
  200.     
  201.     
  202.      In this example there are three topics: "Authoring", "Hyped 
  203.      Text", and "DOS".  Nameless topics are will be unreachable 
  204.      if more one such topic exists in the file.  Nameless clues 
  205.      serve to other purpose than putting more than one entry into 
  206.      the index for a given topic.  "Authoring" is the default 
  207.      topic for the file since it appears first.  The "Hyped Text" 
  208.      topic doesn't have any hyperlinks.  Notice that the target 
  209.      pairing of "hyped text" with the topic "Hyped Text" is case 
  210.      insensitive!  The "DOS" topic has three launches all with 
  211.      far targets.  The first target is an spawn call to the DOS 
  212.      command processor.  The second target demonstrates the 
  213.      preferred way to make a system call.  The last target is the 
  214.      default (first) topic in the hypertext file entitled 
  215.      "dos.htx".  Spawn calls return immediately upon termination 
  216.      to the page that spawned them.  System calls ask the user to 
  217.      "Press any key ..." before returning.  Besure to read the 
  218.      format reference section for complete details!
  219.      
  220.      
  221.  
  222.  
  223.      EB HyperText Grammar
  224.      ====================
  225.      
  226.      
  227.      The production rules below outline the grammar recognized by 
  228.      the Electronic Book.  Explanations of the rules follow 
  229.      immediately after.  Applying the production rules you can 
  230.      construct the format schema of any hypertext file readible 
  231.      by EB.  The name of the rule appears to the left and its 
  232.      production to the right.  If the production contains rules 
  233.      these rules must likewise be expanded until all rules are 
  234.      replace with terminal symbols.  Rule names are capitalized 
  235.      while terminals begin with lower case.
  236.      
  237.      For example, starting with "HyperFile", expanding the rule 
  238.      provides for a file of optional comments followed by one or 
  239.      more "HyperTopics" which may be separated by additional 
  240.      comments.  Optional components of the production are 
  241.      enclosed in brackets, i.e. [].  Items considered together 
  242.      are enclosed in braces, i.e. {}.  The "+" means one or more 
  243.      while the "*" means zero or more.  The "|" symbol means 
  244.      either that which preceeds or that which follows but not 
  245.      both.  If any of these special symbols are preceeded by a 
  246.      "\" then it is to be taken literally thus devoid of any 
  247.      special meaning.  It's really not as hard as it may seem at 
  248.      first glance.  Try your hand at reading the rules and their 
  249.      explanations.  It will be easier to understand if you read 
  250.      the section on authoring first.
  251.  
  252.      
  253.      HyperFile:        [comments]{HyperTopic[comments]}+
  254.      
  255.      HyperTopic:    Inlinks Context Outlinks
  256.      
  257.      Inlinks:        >\|topic{\|clue}*\|<
  258.      
  259.      Context:        [text]{Launch[text]}*
  260.      
  261.      Outlinks:        <\|[Target{\|Target}*]\|>
  262.      
  263.      Launch:        ~any text~
  264.      
  265.      Target:        Near Target | Far Target
  266.      
  267.      Near Target:    topic  |
  268.                  default
  269.      
  270.      Far Target:    topic^HyperFileName  |
  271.                  default^HyperFileName |
  272.                  ignore^>system call   |
  273.             ignore^?spawn call
  274.     
  275.      HyperFileName:    pathname.ext  |
  276.                  pathname      |
  277.             pathname.
  278.             
  279.  
  280.  
  281.      A HyperFile contains one or more HyperTopics.  Any text not 
  282.      residing within a HyperTopic is considered a comment and is 
  283.      not visible to the reader.
  284.      
  285.      A HyperTopic is comprised of an inlinks specifier, context 
  286.      of the topic, and outlinks specifier.  Only the context is 
  287.      visible to the reader.
  288.      
  289.      An Inlinks specifier contains topic and clue strings which 
  290.      must not contain the '|', '>', or '<' characters.  
  291.      Furthermore the topic string may not contain the "^" 
  292.      character.  One or more clues are optional.  Only the first 
  293.      nameless topic in a file will be reachable from the Table of 
  294.      Contents, Index, or via a hyper-jump.  Nameless clues serve 
  295.      no other purpose than creating more than one entry in the 
  296.      Index for a given topic.
  297.      
  298.      The Context contains all visible text for the topic and any 
  299.      number of hyperlink launches.
  300.      
  301.      An Outlinks specifier contains any number of targets for the 
  302.      launches within the Context.  The first target corresponds to 
  303.      the first launch, the second target to the second launch, 
  304.      and so on.  If a launch doesn't have a corresponding target, 
  305.      then the launch is aborted if attempted.  The target strings 
  306.      must not contain the '|', '>', or '<' characters.
  307.      
  308.      A Launch is delimited with the tilde diacritical mark, i.e. 
  309.      ~.  The offset text will appear highlighted.  Choosing the 
  310.      launch takes the reader to the target, if successful 
  311.      otherwise the launch is aborted.  Two tildes appearing 
  312.      together in the text will appear as one visible tilde to the 
  313.      reader and will not be interpretted as a launch delimiter.
  314.      
  315.      A Target can be either near or far.
  316.      
  317.      A Near target specifies a topic within the current hypertext 
  318.      file.  The empty string indicates the default topic which is 
  319.      considered always to be the first topic of a hypertext file.
  320.      
  321.      A Far Target specifies either a (default) topic in another 
  322.      specified hypertext file or an operating system/spawn call, 
  323.      in which case any topic string is simply ignored.
  324.      
  325.      The HyperFileName is any legal pathname.  When the file 
  326.      extension is absent it is assume to be ".htx".  No extension 
  327.      can be specified by appending a period to the pathname.
  328.      
  329.      Notes: In this first version of EB a restriction has been 
  330.      placed on the both inlinks and outlinks specifiers to begin 
  331.      at the start of a new line and not extend pass the end of 
  332.      that line.  The format specification above doesn't require 
  333.      this - it is simply to make the parsing of the file faster 
  334.      and easier this first time around.  Likewise, launches are 
  335.      required to appear on one line and lines are limited to 256 
  336.      characters.  The grammar specification has been deliberately 
  337.      designed to facilitate the adding of screen formating 
  338.      information and application language capabilities, e.g. 
  339.      variables, logic flow and I/O masks (both user and file 
  340.      interface).
  341.  
  342.  
  343.  
  344.      EB HyperText Registration
  345.      =========================
  346.      
  347.      
  348.      EB is meant to be primarily a demonstration of how easy it 
  349.      is to use the FlexList programming tool.  EB source code is 
  350.      included with FlexList.  Those portions not tightly coupled 
  351.      to FlexList are also available as Freeware.  EB was coded 
  352.      entirely without cutting any linked list code, FlexList did 
  353.      it all.  This version of EB.EXE is freeware, meaning that 
  354.      there is no fee for using EB.EXE, but you must leave my 
  355.      copyright notice intact!  Shareware/Freeware distributors 
  356.      are also free to distribute it.  Commercial venders may 
  357.      bundle EB.EXE (unmodified) with their software without cost 
  358.      but in any literature mentioning it they must give proper 
  359.      credit to PSW!  Licensing is required for other uses, e.g. 
  360.      you must register FlexList to incorporate components of EB 
  361.      into your software.
  362.  
  363.  
  364.      FlexList II ANSI && K&R C            $79.95
  365.      FlexList II C++                $79.95
  366.  
  367.     * Ready-to-run C/C++ linked lists.
  368.     * Hybrid structure: stack, queue, list, array.
  369.     * Stores Heterogeneous/homogeneous data.
  370.     * Accessible by value, reference or node.
  371.     * Source is also broken in separate files along
  372.         with makefile for easy library building.
  373.     * 100+ page manual
  374.  
  375.  
  376.      FlexList is also available at a discount from:
  377.      
  378.          The Austin Code Works
  379.     11100 Leafwood Lane
  380.     Austin, Texas 78750-3587 USA
  381.     
  382.     Voice:  (512) 258-0785
  383.     FAX:    (512) 258-1342
  384.     E-mail: info@acw.com
  385.     
  386.  
  387.      
  388.      Thanks again for taking a look at EB and how easy it is to 
  389.      use FlexList in building applications!  I hope you can use 
  390.      it in your shareware/commercial efforts to supply hypertext 
  391.      manuals to your customers.  Your comments, suggestions, and 
  392.      questions are always welcome.
  393.      
  394.  
  395.     John W. Small
  396.     PSW / Power SoftWare
  397.     P.O. Box 10072
  398.     McLean, VA 22102 8072 USA
  399.      
  400.     Voice: (703) 759-3838
  401.     CIS: 73757,2233
  402.      
  403.  
  404.      Happy Authoring!
  405.     
  406.         John